//package com.cxmx.prime.base;
//
//import org.springframework.data.mongodb.core.query.Query;
//
//import java.util.List;
//import java.util.Map;
//
//
//@SuppressWarnings("all")
//public interface IBaseMongo {
//
//    /**
//     * 查找列表
//     *
//     * @param query       查询对象
//     * @param entityClass
//     * @return
//     */
//    public <T> List<T> find(Query query, Class<T> entityClass) throws Exception;
//
//    /**
//     * 通过查询条件分页获取列表
//     *
//     * @param query
//     * @param entityClass
//     * @param pagerDto
//     * @return
//     * @throws Exception
//     */
//    public PagerDTO selectPage(Query query, Class entityClass, PagerDTO pagerDto) throws Exception;
//
//    /**
//     * 查询统计（按条件）
//     *
//     * @param query
//     * @param entityClass
//     * @return
//     * @throws Exception
//     */
//    public long selectCount(Query query, Class entityClass) throws Exception;
//
//    /**
//     * 获取单条记录
//     *
//     * @param param
//     * @param entityClass
//     * @return
//     * @throws Exception
//     */
//    public Object findOne(Query query, Class entityClass) throws Exception;
//
//    /**
//     * 获取单条记录
//     *
//     * @param param
//     * @param entityClass
//     * @return
//     * @throws Exception
//     */
//    public Object findOne(Map<String, Object> param, Class entityClass) throws Exception;
//
//    /**
//     * 插入单条记录
//     *
//     * @param entity
//     * @return
//     * @throws Exception
//     */
//    public boolean insert(Object entity);
//
//    /**
//     * 插入或修改单条记录
//     *
//     * @param entity
//     * @return
//     * @throws Exception
//     */
//    public boolean save(Object entity);
//
//    /**
//     * 插入多条记录
//     *
//     * @param list
//     * @return
//     * @throws Exception
//     */
//    public boolean insertAll(List list);
//
//    /**
//     * 删除指定条件的数据
//     *
//     * @param query
//     * @param entityClass
//     * @return
//     */
//    public boolean removes(Query query, Class entityClass);
//
//    /**
//     * 按主键唯一ID更新数据
//     *
//     * @param fieldName   字段名称
//     * @param id
//     * @param param       需要修改的字段
//     * @param entityClass
//     * @return
//     * @throws Exception
//     */
//    public boolean updateById(String fieldName, Object id, Map<String, Object> param, Class entityClass) throws Exception;
//
//    /**
//     * 根据查询条件批量修改
//     *
//     * @param query       查询条件
//     * @param param       修改字段与修改值
//     * @param entityClass
//     * @return
//     */
//    public boolean updateAll(Query query, Map<String, Object> param, Class entityClass) throws Exception;
//
//    /**
//     * 是否存在指定对象
//     *
//     * @param query
//     * @param entityClass
//     * @return
//     * @throws Exception
//     */
//    public boolean exist(Query query, Class entityClass) throws Exception;
//}
